Fork me on GitHub

MySQL 外键使用(三)

前言:

  1. 外键概念;
  2. 外键的创建和删除使用;
  3. 面试题:在目前主流的数据库设计中,为什么越来越少使用到外键约束?

外键的概念和使用

1. 外键概念:
当前表的某个字段是另一个的主键
2. 创建外键:
-- 创建表时就添加
foreign key(brand_id) references goods_brands(id)

-- 创建完表后添加
alter table goods add foreign key(brand_id) references goods_brands(id);
3. 删除外键:
alter table goods drop foreign key goods_ibfk_1;
4. 涉及外键的面试
在目前主流的数据库设计中,为什么越来越少使用到外键约束?

原因: 会极大的降低表更新的效率
如何替代 '通过外键约束实现数据有效性验证'
解决思想: 可在数据录入时验证(UI 层、表示层、前端页面),或者在业务层面(python代码)去验证,而不要数据库层面去验证。

MVC 三层模型:
1. UI 层(表示层)
2. 业务逻辑层
3. 数据库层

Mysql 增加、删除外键详细:https://blog.csdn.net/qq_34988341/article/details/78305892

-------------本文结束感谢您的阅读-------------

本文标题:MySQL 外键使用(三)

文章作者:曹永林

发布时间:2018年07月18日 - 03:07

最后更新:2018年07月28日 - 09:07

原始链接:http://jovelin.cn/2018/07/18/MySQL 外键使用(三)/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。